An ever-increasing number of relatively inexpensive, low power wireless data communication services, networks and devices have been made available over the past number of years, promising near wire speed transmission and reliability. Various wireless technology is described in detail in the Institute for Electrical and Electronics Engineers (IEEE) 802 Standards, including for example, the IEEE Standard 802.11a (1999) and its updates and amendments, the IEEE Standard 802.11g (2003), and the IEEE Standard 802.11n now in the process of being adopted, all of which are collectively incorporated herein fully by reference. These standards have been or are in the process of being commercialized with the promise of 54 Mbps or higher data rate, making them a strong competitor to traditional wired Ethernet and the more common “802.11b” or “WiFi” 11 Mbps mobile wireless transmission standard.
Some wireless communication systems utilize multiple transmit antennas and multiple receive antennas to increase the number of signals which may be propagated in the communication system and/or to compensate for deleterious effects associated with the various propagation paths, and to thereby improve transmission performance. Such a system is commonly referred to as a multiple-input, multiple-output (MIMO) wireless transmission system and is specifically provided for within the IEEE 802.11n Standard now being adopted. Further, the 802.16 standard, or WiMAX, applies to cell-based systems and supports MIMO techniques. Generally speaking, the use of MIMO technology produces significant increases in spectral efficiency and link reliability of wireless communication systems, and these benefits generally increase as the number of transmit and receive antennas within the MIMO system increases.
A MIMO channel formed by the various transmit and receive antennas between a particular transmitter and a particular receiver includes a number of independent spatial channels. As is known, a wireless MIMO communication system can provide improved performance (e.g., increased transmission capacity) by utilizing the additional dimensionalities created by these spatial channels for the transmission of additional data. However, instead of using all of the various different transmit and receive antennas to form separate spatial channels on which additional information is sent, better transmission and reception properties can be obtained in a MIMO system by using at least some of the various transmit antennas of the MIMO system to transmit the same signal while phasing (and amplifying) this signal as it is provided to the various transmit antennas to achieve beamforming or beamsteering. Generally speaking, beamforming or beamsteering creates a spatial gain pattern having one or more high gain lobes or beams (as compared to the gain obtained by an omni-directional antenna) in one or more particular directions, while reducing the gain over that obtained by an omni-directional antenna in other directions. If the gain pattern is configured to produce a high gain lobe in the direction of each of the receive antennas, the MIMO system can obtain better transmission reliability between a particular transmitter and a particular receiver, over that obtained by single transmitter-antenna/receiver-antenna systems.
In some MIMO communication systems, multiple bit streams may be encoded for transmission via the MIMO channel using multiple channel encoders, and a single receiver may receive and decode the multiple encoded bit streams. For example, a single transmitter, such as within a user device or a base station, may include multiple channel encoders, and a single receiver may receive and decode the transmissions from the single transmitter. As another example, a plurality of transmitters, such as distributed among a plurality of user devices, may each include a channel encoder, and a single receiver, such as a base station, may receive and decode the transmissions from the plurality of transmitters.
FIG. 1 is a block diagram of a prior art MIMO receiver 100 for receiving and decoding transmissions from L channel encoders, where L is an integer greater than or equal to two. The receiver 100 receives R signals y1[m], y2[m], . . . , yR[m], corresponding to R receive antennas, where R is an integer greater than or equal to L. The R signals y1[m], y2[m], . . . , yR[m] carry information from S spatial streams, where R≧S≧L. A MIMO maximum likelihood (ML) demodulator 104 generally uses the R signals y1[m], y2[m], . . . , yR[m] to generate a log likelihood ratio (LLR) indicating the likelihood that a bit is a zero and the likelihood that the bit is one, for each bit in each of the S spatial streams. For example, an LLR of zero may indicate an equal probability that the bit is a one or a zero. On the other hand, as the LLR increases in the positive direction, this may indicate increasing likelihood that the bit is a one. Similarly, as the LLR increases in the negative direction, this may indicate increasing likelihood that the bit is a zero. Thus, the output of the MIMO ML demodulator 104 is S signals, each signal comprising LLR values.
A spatial stream to layer de-mapper generally maps the S signals from the MIMO ML demodulator 104 corresponding to the S spatial streams to L signals corresponding to the L layers. The receiver 100 also includes a deinterleaver 112 and a decoder 116 for each layer. The deinterleaver 112 reverses a known bit interleaving process performed at the channel encoder. The decoder 116 generally uses the LLR values to decode the signal into a bit stream corresponding to the layer.
As is known, calculating the LLR of a given bit may require a calculation of ∥y−Hx∥2 for every constellation point in the constellation set in order to determine the smallest distance, where y is a vector corresponding to y1[m], y2[m], . . . , yR[m], H is an estimate of the MIMO channel, x is a transmit signal vector candidate corresponding to y. Moreover, if there are multiple streams, a calculation of ∥y−Hx∥2 may be required for every constellation point for every stream. Therefore, if the receiver 100 receives S streams, for example, and each stream is represented by W bits and modulated using an M-QAM scheme (where M=2W), the receiving device 100 may need to perform M*S calculations of ∥y−Hx∥2 to demodulate the received S streams.
FIG. 2 is a block diagram of another prior art MIMO receiver 150 for receiving and decoding transmissions from L channel encoders. The MIMO receiver 150 includes L layer receivers 154 and L−1 interference cancellers 158. The first layer receiver 154a processes the R signals y1[m], y2[m], . . . , yR[m] to demodulate and decode the first layer signal. The first layer interference canceller 158a then re-encodes and re-modulates the output of the receiver 154a to estimate the components of y1[m], y2[m], . . . , yR[m] due to the first layer information. Then, the interference canceller 158a subtracts the estimated components due to the first layer from y1[m], y2[m], . . . , yR[m]. Thus, the interference canceller 158a attempts to subtract out the interference of the first layer with respect to layers 2 through L.
The second layer receiver 154b processes the R signals output from the first interference canceller 158a to demodulate and decode the second layer signal. The second layer interference canceller 158b then re-encodes and re-modulates the output of the receiver 154b to estimate the components of y1[m], y2[m], . . . , yR[m] due to the second layer information. Then, the interference canceller 158b subtracts the estimated components due to the second layer from the output of the first interference canceller 158a. Thus, the interference canceller 158b attempts to subtract out the interference of the second layer with respect to layers 3 through L. The same technique continues until the L-th layer receiver 154d processes the R signals output from the (L−1)-th interference canceller 158c to demodulate and decode the L-th layer signal.
FIG. 3 is a block diagram of a receiver 154 and an interference canceller 158 of FIG. 2, for an n-th layer. The receiver 154 comprises a MIMO linear equalizer 162 that receives R signals y1[m], y2[m], . . . , yR[m] from an interference canceller for the (n−1)-th layer. The MIMO linear equalizer 162 outputs Sn signals corresponding to the Sn spatial streams for the n-th layer. A demapper 166 generally demaps the Sn signals into a single stream of modulated symbols corresponding to the n-th layer. An LLR calculator 170 calculates LLR values corresponding to the modulated symbols. A deinterleaver 174 reverses a known bit interleaving process performed at the channel encoder. A decoder 178 generally uses the LLR values to decode the signal into a bit stream corresponding to the n-th layer.
The interference canceller 158 includes an encoder 182, an interleaver 184, and a modulator 186 that generally attempt to recreate encoding, interleaving and modulation performed by the channel encoder at the transmitter. A mapper 188 maps the modulated symbols output by the modulator 186 into the Sn spatial streams for the n-th layer. A mapper 190 maps the Sn spatial streams to T transmit antenna signals. Thus, the mapper 188 and the mapper 190 attempt to recreate mapping functions performed at the transmitter. A matrix multiplier 192 multiplies the T signals by a MIMO channel estimate H. A subtractor 194 subtracts the output of the matrix multiplier 192 from the signals y1′[m], y2′[m], yr′[m].